apt-get 是更新 Ubuntu 上的軟體套件版本的指令
sudo apt-get update
sudo apt-get upgrade -y
設定 VM 的時區
sudo dpkg-reconfigure tzdata
輸入完會跳出粉紅色的畫面,選擇 Asia 後, Time zone 可以按 T 跳到 Taipei
網路上有很多文章,如果參考go rails課程,要注意go rails課程是使用rbenv做版本管理~
本篇安裝的部分,主要是參考Rails實戰聖經以及Brighbox
安裝Ruby on Rails相關套件
sudo apt-get install -y build-essential git-core bison openssl libreadline6-dev curl zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 autoconf libc6-dev libpcre3-dev libcurl4-nss-dev libxml2-dev libxslt-dev imagemagick nodejs libffi-dev
安裝Ruby
$ sudo apt-get install software-properties-common
$ sudo apt-add-repository ppa:brightbox/ruby-ng
$ sudo apt-get update
安裝2.6版的Ruby
$ sudo apt-get install ruby2.6 ruby2.6-dev
安裝Bundler
sudo gem install bundler --no-ri --no-rdoc
安裝 PostgreSQL 資料庫
sudo apt-get install postgresql libpq-dev postgresql-contrib
執行
sudo -u postgres psql
然後打 \password 修改帳號 postgres 的密碼
設定好後, \q 離開
執行
sudo -u postgres createdb 你的db名稱
安裝的部分主要按照phusionpassenger的教學設定
安裝 Nginx
sudo apt-get install nginx
# Install our PGP key and add HTTPS support for APT
sudo apt-get install -y dirmngr gnupg
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 561F9B9CAC40B2F7
sudo apt-get install -y apt-transport-https ca-certificates
# Add our APT repository
sudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger focal main > /etc/apt/sources.list.d/passenger.list'
sudo apt-get update
# Install Passenger + Nginx module
sudo apt-get install -y libnginx-mod-http-passenger
接著執行以下指令,確保配置文件就位
if [ ! -f /etc/nginx/modules-enabled/50-mod-http-passenger.conf ]; then sudo ln -s /usr/share/nginx/modules-available/mod-http-passenger.load /etc/nginx/modules-enabled/50-mod-http-passenger.conf ; fi
sudo ls /etc/nginx/conf.d/mod-http-passenger.conf
最後重啟 Nginx
sudo service nginx restart
打開瀏覽器,用 HTTP 連入你的 IP,應該可以看見 Nginx 預設的網頁
回到遠端 VM
sudo adduser --disabled-password deploy
基本資料的設定可以直接按 enter 跳過,最後輸入 Y 建立 deploy 帳號
使用指令切換到 deploy 帳號
sudo su deploy
回到預設資料夾
cd ~
建立 .ssh 資料夾
mkdir ~/.ssh
使用 nano 編輯器新增存放公鑰的資料夾 authorized_keys
這邊一樣複製貼上上一篇教學產出的公鑰,如果忘記可以回到本機終端執行
cat ~/.ssh/id_rsa.pub
輸入完畢一樣要記得設定權限
chmod 700 ~/.ssh
chmod 644 ~/.ssh/authorized_keys
之後就可以使用 deploy 帳號登入囉~